iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 4
0
自我挑戰組

IT人員面面觀系列 第 4

[SQL Server]在單一主機上實作資料庫鏡像機制

  • 分享至 

  • xImage
  •  

在此分享在單一主機上安裝二個Instance來實作資料庫鏡像備援機制,
好處是無須花時間建立二台VM即可進行實作。
首先我先安裝了二個Instance,分別是:
主體端:THINK
鏡像端:THINK\SQLSERVER2008R2

以下全程使用指令實作不透過UI設定,共分為四個步驟:

  1. 先備份主體端的DB。
  2. 接著連到鏡像端還原DB with NORECOVERY模式。
  3. 建立鏡像要使用的端點(End_Point)。
  4. 進行鏡像同步。

步驟1.
連至主體端Instance(THINK),進行資料庫完整和交易備份。

--先備份主體端的備份檔
use [master]
--完整備份
BACKUP DATABASE [APPSYS] TO  DISK = N'D:\DBBackup\appsys.bak' WITH INIT,COMPRESSION
GO
--交易備份
BACKUP LOG [APPSYS] TO  DISK = N'D:\DBBackup\appsys.trn' WITH INIT,COMPRESSION
GO

步驟2.
接著連至鏡像端(備援機)進行還原動作,記得要將資料庫還原成NORECOVERY模式。

USE [master]
--還原完整備份
RESTORE DATABASE [APPSYS] FROM  DISK = N'D:\DBBackup\appsys.bak' WITH   
MOVE N'APPSYS' TO N'D:\DB Files\APPSYS.mdf',  
MOVE N'APPSYS_log' TO N'D:\DB Files\APPSYS_log.ldf', 
NORECOVERY,  REPLACE
GO
--還原交易備份
RESTORE LOG [APPSYS] FROM  DISK = N'D:\DBBackup\appsys.trn' WITH NORECOVERY,  NOUNLOAD,  REPLACE
GO

步驟3.
建立鏡像同步時所需要的資料庫端點,因為在同一台主機所以要各指定不同的Port。

--連至主體端建立端點,使用Port 5022
USE [master]
GO
CREATE ENDPOINT [Mirroring_Endpoint] 
	STATE=STARTED
	AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
	FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE
, ENCRYPTION = DISABLED)
GO
--查看是否有建立成功
SELECT type_desc, port,name,state_desc FROM sys.tcp_endpoints

--連至鏡像端建立端點,使用Port 5023
USE [master]
GO
CREATE ENDPOINT [Mirroring_Endpoint] 
	STATE=STARTED
	AS TCP (LISTENER_PORT = 5023, LISTENER_IP = ALL)
	FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE
, ENCRYPTION = DISABLED)
GO
--連至鏡像端建立端點
SELECT type_desc, port,name,state_desc FROM sys.tcp_endpoints

步驟4.
使用指令來啓動鏡像同步,先執行鏡像端的指令之後再執行主體端的。

--鏡像端
ALTER DATABASE APPSYS SET PARTNER ='tcp://THINK:5022'; 
--主體端
ALTER DATABASE APPSYS SET PARTNER ='tcp://THINK:5023'; 

資料庫鏡像機制建立成功!

可在資料庫->工作->啓動資料庫鏡像監視器,可以看到目前資料庫同步的情況以及等待被傳輸的資料量。

參考連結:
指定伺服器網路位址 (資料庫鏡像)
https://docs.microsoft.com/zh-tw/sql/database-engine/database-mirroring/specify-a-server-network-address-database-mirroring


上一篇
[SQL Server]TempDB的基本調教
下一篇
[SQL Server]鏡像應用Q&A
系列文
IT人員面面觀28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言